#version 310 es
#ifdef GL_EXT_shader_texture_lod
#extension GL_EXT_shader_texture_lod : enable
#endif

precision highp float;
precision highp int;
#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
#define UNITY_UNIFORM
#else
#define UNITY_UNIFORM uniform
#endif
#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
#if UNITY_SUPPORTS_UNIFORM_LOCATION
#define UNITY_LOCATION(x) layout(location = x)
#define UNITY_BINDING(x) layout(binding = x, std140)
#else
#define UNITY_LOCATION(x)
#define UNITY_BINDING(x) layout(std140)
#endif
vec4 ImmCB_0[12];
uniform 	vec4 _ScaledScreenParams;
uniform 	vec2 _GlobalMipBias;
uniform 	vec4 _MainLightPosition;
uniform 	mediump vec4 _MainLightColor;
uniform 	vec4 _FPParams0;
uniform 	vec4 _FPParams1;
uniform 	vec4 _AdditionalLightsPosition[16];
uniform 	mediump vec4 _AdditionalLightsColor[16];
uniform 	mediump vec4 _AdditionalLightsAttenuation[16];
uniform 	mediump vec4 _AdditionalLightsSpotDir[16];
uniform 	vec3 _WorldSpaceCameraPos;
uniform 	vec4 _ScreenParams;
uniform 	vec4 unity_OrthoParams;
uniform 	vec4 hlslcc_mtx4x4unity_MatrixV[4];
uniform 	int _DebugMaterialMode;
uniform 	int _DebugMaterialValidationMode;
uniform 	int _DebugSceneOverrideMode;
uniform 	int _DebugLightingMode;
uniform 	int _DebugLightingFeatureFlags;
uniform 	mediump float _DebugValidateAlbedoMinLuminance;
uniform 	mediump float _DebugValidateAlbedoMaxLuminance;
uniform 	mediump float _DebugValidateAlbedoSaturationTolerance;
uniform 	mediump float _DebugValidateAlbedoHueTolerance;
uniform 	mediump vec3 _DebugValidateAlbedoCompareColor;
uniform 	mediump float _DebugValidateMetallicMinValue;
uniform 	mediump float _DebugValidateMetallicMaxValue;
uniform 	vec4 _DebugColor;
uniform 	vec4 _DebugColorInvalidMode;
uniform 	vec4 _DebugValidateBelowMinThresholdColor;
uniform 	vec4 _DebugValidateAboveMaxThresholdColor;
uniform 	vec4 _CascadeShadowSplitSpheres0;
uniform 	vec4 _CascadeShadowSplitSpheres1;
uniform 	vec4 _CascadeShadowSplitSpheres2;
uniform 	vec4 _CascadeShadowSplitSpheres3;
uniform 	vec4 _CascadeShadowSplitSphereRadii;
uniform 	vec4 _MainLightShadowParams;
UNITY_BINDING(0) uniform URP_ZBinBuffer {
	vec4                URP_ZBins[1024];
};
UNITY_BINDING(1) uniform urp_TileBuffer {
	vec4                urp_Tiles[1024];
};
UNITY_BINDING(2) uniform UnityPerDraw {
	vec4 Xhlslcc_UnusedXhlslcc_mtx4x4unity_ObjectToWorld[4];
	vec4 Xhlslcc_UnusedXhlslcc_mtx4x4unity_WorldToObject[4];
	vec4 Xhlslcc_UnusedXunity_LODFade;
	mediump vec4 Xhlslcc_UnusedXunity_WorldTransformParams;
	vec4 Xhlslcc_UnusedXunity_RenderingLayer;
	mediump vec4 Xhlslcc_UnusedXunity_LightData;
	mediump vec4 Xhlslcc_UnusedXunity_LightIndices[2];
	vec4 Xhlslcc_UnusedXunity_ProbesOcclusion;
	mediump vec4 Xhlslcc_UnusedXunity_SpecCube0_HDR;
	mediump vec4 Xhlslcc_UnusedXunity_SpecCube1_HDR;
	vec4 Xhlslcc_UnusedXunity_SpecCube0_BoxMax;
	vec4 Xhlslcc_UnusedXunity_SpecCube0_BoxMin;
	vec4 Xhlslcc_UnusedXunity_SpecCube0_ProbePosition;
	vec4 Xhlslcc_UnusedXunity_SpecCube1_BoxMax;
	vec4 Xhlslcc_UnusedXunity_SpecCube1_BoxMin;
	vec4 Xhlslcc_UnusedXunity_SpecCube1_ProbePosition;
	vec4 Xhlslcc_UnusedXunity_LightmapST;
	vec4 Xhlslcc_UnusedXunity_DynamicLightmapST;
	mediump vec4                unity_SHAr;
	mediump vec4                unity_SHAg;
	mediump vec4                unity_SHAb;
	mediump vec4                unity_SHBr;
	mediump vec4                unity_SHBg;
	mediump vec4                unity_SHBb;
	mediump vec4                unity_SHC;
	vec4 Xhlslcc_UnusedXunity_RendererBounds_Min;
	vec4 Xhlslcc_UnusedXunity_RendererBounds_Max;
	vec4 Xhlslcc_UnusedXhlslcc_mtx4x4unity_MatrixPreviousM[4];
	vec4 Xhlslcc_UnusedXhlslcc_mtx4x4unity_MatrixPreviousMI[4];
	vec4 Xhlslcc_UnusedXunity_MotionVectorsParams;
};
UNITY_BINDING(3) uniform UnityPerMaterial {
	vec4 Xhlslcc_UnusedX_SoftParticleFadeParams;
	vec4 Xhlslcc_UnusedX_CameraFadeParams;
	vec4 Xhlslcc_UnusedX_BaseMap_ST;
	mediump vec4                _BaseColor;
	mediump vec4 Xhlslcc_UnusedX_EmissionColor;
	mediump vec4 Xhlslcc_UnusedX_BaseColorAddSubDiff;
	mediump vec4 Xhlslcc_UnusedX_SpecColor;
	mediump float Xhlslcc_UnusedX_Cutoff;
	mediump float Xhlslcc_UnusedX_Smoothness;
	mediump float Xhlslcc_UnusedX_DistortionStrengthScaled;
	mediump float Xhlslcc_UnusedX_DistortionBlend;
	mediump float                _Surface;
};
UNITY_LOCATION(0) uniform mediump sampler2D _MainLightShadowmapTexture;
UNITY_LOCATION(1) uniform mediump sampler2DShadow hlslcc_zcmp_MainLightShadowmapTexture;
UNITY_LOCATION(2) uniform mediump sampler2D _BaseMap;
layout(location = 0) in highp vec2 vs_TEXCOORD0;
layout(location = 1) in mediump vec4 vs_COLOR0;
layout(location = 2) in highp vec4 vs_TEXCOORD1;
layout(location = 3) in mediump vec3 vs_TEXCOORD2;
layout(location = 4) in highp vec4 vs_TEXCOORD7;
layout(location = 0) out mediump vec4 SV_Target0;
vec3 u_xlat0;
mediump vec4 u_xlat16_0;
mediump vec4 u_xlat16_1;
vec4 u_xlat2;
bool u_xlatb2;
vec2 u_xlat3;
ivec4 u_xlati3;
uvec2 u_xlatu3;
vec4 u_xlat4;
mediump vec4 u_xlat16_4;
ivec4 u_xlati4;
uvec4 u_xlatu4;
bvec4 u_xlatb4;
vec4 u_xlat5;
mediump vec4 u_xlat16_5;
ivec4 u_xlati5;
uint u_xlatu5;
bvec4 u_xlatb5;
vec4 u_xlat6;
mediump vec4 u_xlat16_6;
ivec4 u_xlati6;
uvec4 u_xlatu6;
vec3 u_xlat7;
ivec4 u_xlati7;
uint u_xlatu7;
bvec2 u_xlatb7;
vec3 u_xlat8;
ivec2 u_xlati8;
bvec4 u_xlatb8;
vec3 u_xlat9;
bvec4 u_xlatb9;
mediump vec4 u_xlat16_10;
mediump vec3 u_xlat16_11;
mediump vec3 u_xlat16_12;
mediump vec3 u_xlat16_13;
mediump vec3 u_xlat16_15;
float u_xlat17;
ivec3 u_xlati17;
uint u_xlatu17;
ivec3 u_xlati18;
bool u_xlatb18;
float u_xlat19;
ivec2 u_xlati19;
uint u_xlatu19;
float u_xlat21;
ivec2 u_xlati21;
bvec2 u_xlatb21;
mediump float u_xlat16_24;
mediump float u_xlat16_29;
float u_xlat31;
ivec2 u_xlati31;
uint u_xlatu31;
bvec2 u_xlatb31;
float u_xlat32;
int u_xlati32;
uvec2 u_xlatu32;
ivec2 u_xlati33;
uint u_xlatu33;
ivec2 u_xlati34;
ivec2 u_xlati35;
bool u_xlatb35;
bool u_xlatb36;
mediump vec2 u_xlat16_38;
mediump float u_xlat16_43;
float u_xlat44;
mediump float u_xlat16_44;
uint u_xlatu44;
bool u_xlatb44;
float u_xlat45;
int u_xlati45;
uint u_xlatu45;
bool u_xlatb45;
float u_xlat47;
int u_xlati47;
uint u_xlatu47;
float u_xlat49;
int u_xlati49;
bool u_xlatb49;
float u_xlat50;
mediump float u_xlat16_52;
vec4 TempArray0[18];
vec4 TempArray1[18];
vec4 TempArray2[18];
vec4 TempArray3[18];
vec4 TempArray4[18];
vec4 TempArray5[18];
int int_bitfieldExtract(int value, int offset, int bits) {
#if defined(GL_ES) && __VERSION__ <= 300
    return (bits == 0) ? 0 : (offset + bits < 32) ? ((value << (32 - bits - offset)) >> (32 - bits)) : (value >> offset);
#else
    return bitfieldExtract(value, offset, (offset + bits < 32) ? bits : (32 - offset));
#endif
}

void main()
{
ImmCB_0[0] = vec4(0.0,0.0,0.0,1.0);
ImmCB_0[1] = vec4(0.650980413,0.274509817,0.949019611,1.0);
ImmCB_0[2] = vec4(0.0,0.101960786,0.866666675,1.0);
ImmCB_0[3] = vec4(0.254901975,0.596078455,0.87843138,1.0);
ImmCB_0[4] = vec4(0.619607866,0.894117653,0.984313726,1.0);
ImmCB_0[5] = vec4(0.219607845,0.952941179,0.690196097,1.0);
ImmCB_0[6] = vec4(0.65882355,0.933333337,0.180392161,1.0);
ImmCB_0[7] = vec4(1.0,0.992156863,0.298039228,1.0);
ImmCB_0[8] = vec4(1.0,0.839215696,0.0,1.0);
ImmCB_0[9] = vec4(0.992156863,0.596078455,0.0,1.0);
ImmCB_0[10] = vec4(1.0,0.262745112,0.200000003,1.0);
ImmCB_0[11] = vec4(0.517647088,0.0392156877,0.211764708,1.0);
vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
    u_xlat16_0 = texture(_BaseMap, vs_TEXCOORD0.xy, _GlobalMipBias.x);
    u_xlat16_0 = u_xlat16_0 * _BaseColor;
    u_xlat16_1 = u_xlat16_0.wxyz * vs_COLOR0.wxyz;
    u_xlat2.x = dot(vs_TEXCOORD2.xyz, vs_TEXCOORD2.xyz);
    u_xlat2.x = inversesqrt(u_xlat2.x);
    u_xlat2.xyz = u_xlat2.xxx * vs_TEXCOORD2.xyz;
    u_xlat3.xy = vec2(1.0) / vec2(_ScaledScreenParams.xy);
    u_xlat3.xy = u_xlat3.xy * hlslcc_FragCoord.xy;
    u_xlatb31.x = _DebugMaterialMode==9;
    if(u_xlatb31.x){
        u_xlatu31 = uint(_FPParams0.w);
        u_xlat4.xy = u_xlat3.xy * _FPParams1.xy;
        u_xlatu4.xy = uvec2(u_xlat4.xy);
        u_xlatu32.xy = uvec2(_FPParams1.zw);
        u_xlati45 = int(u_xlatu4.y) * int(u_xlatu32.x) + int(u_xlatu4.x);
        u_xlatu45 = u_xlatu32.y * uint(u_xlati45);
        u_xlat4.x = hlslcc_mtx4x4unity_MatrixV[0].z;
        u_xlat4.y = hlslcc_mtx4x4unity_MatrixV[1].z;
        u_xlat4.z = hlslcc_mtx4x4unity_MatrixV[2].z;
        u_xlat5.xyz = vs_TEXCOORD1.xyz + (-_WorldSpaceCameraPos.xyz);
        u_xlat4.x = dot((-u_xlat4.xyz), u_xlat5.xyz);
        u_xlatb18 = unity_OrthoParams.w==0.0;
        u_xlat32 = log2(u_xlat4.x);
        u_xlat4.x = (u_xlatb18) ? u_xlat32 : u_xlat4.x;
        u_xlat4.x = u_xlat4.x * _FPParams0.x + _FPParams0.y;
        u_xlatu4.x = uint(u_xlat4.x);
        u_xlatu4.x = min(u_xlatu4.x, 4095u);
        u_xlati18.x = int(u_xlatu32.y) + 2;
        u_xlatu32.x = uint(u_xlati18.x) * u_xlatu4.x;
        u_xlatu5 = u_xlatu4.x * uint(u_xlati18.x) + 2u;
        if(u_xlatu32.y != uint(0)) {
            u_xlatu19 = u_xlatu32.x >> (2u & uint(0x1F));
            u_xlati33.xy = ivec2(int_bitfieldExtract(int(u_xlatu32.x), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu32.x), int(1) & int(0x1F), int(1) & int(0x1F)));
            u_xlati6.xy = ivec2(uvec2(u_xlati33.xx) & uvec2(floatBitsToUint(URP_ZBins[int(u_xlatu19)].wy)));
            u_xlati34.xy = ~(u_xlati33.xy);
            u_xlati19.xy = ivec2(uvec2(u_xlati34.xx) & uvec2(floatBitsToUint(URP_ZBins[int(u_xlatu19)].zx)));
            u_xlati19.xy = ivec2(uvec2(u_xlati19.xy) | uvec2(u_xlati6.xy));
            u_xlati32 = int(uint(u_xlati33.y) & uint(u_xlati19.x));
            u_xlati19.x = int(uint(u_xlati34.y) & uint(u_xlati19.y));
            u_xlatu32.x = uint(u_xlati32) | uint(u_xlati19.x);
            u_xlatu19 = u_xlatu45 >> (2u & uint(0x1F));
            u_xlati33.xy = ivec2(int_bitfieldExtract(int(u_xlatu45), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu45), int(1) & int(0x1F), int(1) & int(0x1F)));
            u_xlati6.xy = ivec2(uvec2(u_xlati33.xx) & uvec2(floatBitsToUint(urp_Tiles[int(u_xlatu19)].wy)));
            u_xlati34.xy = ~(u_xlati33.xy);
            u_xlati19.xy = ivec2(uvec2(u_xlati34.xx) & uvec2(floatBitsToUint(urp_Tiles[int(u_xlatu19)].zx)));
            u_xlati19.xy = ivec2(uvec2(u_xlati19.xy) | uvec2(u_xlati6.xy));
            u_xlati19.x = int(uint(u_xlati33.y) & uint(u_xlati19.x));
            u_xlati33.x = int(uint(u_xlati34.y) & uint(u_xlati19.y));
            u_xlati19.x = int(uint(u_xlati33.x) | uint(u_xlati19.x));
            u_xlatu33 = u_xlatu5 >> (2u & uint(0x1F));
            u_xlati6.xy = ivec2(int_bitfieldExtract(int(u_xlatu5), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu5), int(1) & int(0x1F), int(1) & int(0x1F)));
            u_xlati34.xy = ivec2(uvec2(u_xlati6.xx) & uvec2(floatBitsToUint(URP_ZBins[int(u_xlatu33)].wy)));
            u_xlati7.xy = ~(u_xlati6.xy);
            u_xlati33.xy = ivec2(uvec2(u_xlati7.xx) & uvec2(floatBitsToUint(URP_ZBins[int(u_xlatu33)].zx)));
            u_xlati33.xy = ivec2(uvec2(u_xlati33.xy) | uvec2(u_xlati34.xy));
            u_xlati33.x = int(uint(u_xlati6.y) & uint(u_xlati33.x));
            u_xlati47 = int(uint(u_xlati7.y) & uint(u_xlati33.y));
            u_xlati33.x = int(uint(u_xlati47) | uint(u_xlati33.x));
            u_xlati19.x = int(uint(u_xlati33.x) & uint(u_xlati19.x));
            u_xlati33.x = int(0xFFFFFFFFu) << (int(u_xlatu32.x) & int(0x1F));
            u_xlati19.x = int(uint(u_xlati33.x) & uint(u_xlati19.x));
            u_xlatu32.x = u_xlatu32.x >> (16u & uint(0x1F));
            u_xlatu32.x = (-u_xlatu32.x) + 31u;
            u_xlatu32.x = 4294967295u >> (u_xlatu32.x & uint(0x1F));
            u_xlati32 = int(u_xlatu32.x & uint(u_xlati19.x));
        } else {
            u_xlati32 = 0;
        }
        u_xlatu19 = u_xlatu31;
        u_xlati33.x = u_xlati32;
        while(true){
            if(u_xlati33.x == 0) {break;}
            u_xlati47 = findLSB(uint(u_xlati33.x));
            u_xlati47 = 1 << (u_xlati47 & int(0x1F));
            u_xlati33.x = int(uint(u_xlati47) ^ uint(u_xlati33.x));
            u_xlatu19 = u_xlatu19 + 1u;
        }
        if(u_xlatu32.y != uint(0)) {
            u_xlatu31 = u_xlatu4.x * uint(u_xlati18.x) + 1u;
            u_xlatu4.x = u_xlatu31 >> (2u & uint(0x1F));
            u_xlati18.xy = ivec2(int_bitfieldExtract(int(u_xlatu31), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu31), int(1) & int(0x1F), int(1) & int(0x1F)));
            u_xlati33.xy = ivec2(uvec2(u_xlati18.xx) & uvec2(floatBitsToUint(URP_ZBins[int(u_xlatu4.x)].wy)));
            u_xlati18.xz = ~(u_xlati18.xy);
            u_xlati4.xy = ivec2(uvec2(u_xlati18.xx) & uvec2(floatBitsToUint(URP_ZBins[int(u_xlatu4.x)].zx)));
            u_xlati4.xy = ivec2(uvec2(u_xlati4.xy) | uvec2(u_xlati33.xy));
            u_xlati31.x = int(uint(u_xlati18.y) & uint(u_xlati4.x));
            u_xlati4.x = int(uint(u_xlati18.z) & uint(u_xlati4.y));
            u_xlatu31 = uint(u_xlati31.x) | uint(u_xlati4.x);
            u_xlatu4.x = u_xlatu45 >> (2u & uint(0x1F));
            u_xlati18.xy = ivec2(int_bitfieldExtract(int(u_xlatu45), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu45), int(1) & int(0x1F), int(1) & int(0x1F)));
            u_xlati33.xy = ivec2(uvec2(u_xlati18.xx) & uvec2(floatBitsToUint(urp_Tiles[int(u_xlatu4.x)].wy)));
            u_xlati18.xz = ~(u_xlati18.xy);
            u_xlati4.xy = ivec2(uvec2(u_xlati18.xx) & uvec2(floatBitsToUint(urp_Tiles[int(u_xlatu4.x)].zx)));
            u_xlati4.xy = ivec2(uvec2(u_xlati4.xy) | uvec2(u_xlati33.xy));
            u_xlati45 = int(uint(u_xlati18.y) & uint(u_xlati4.x));
            u_xlati4.x = int(uint(u_xlati18.z) & uint(u_xlati4.y));
            u_xlati45 = int(uint(u_xlati45) | uint(u_xlati4.x));
            u_xlatu4.x = u_xlatu5 >> (2u & uint(0x1F));
            u_xlati18.xy = ivec2(int_bitfieldExtract(int(u_xlatu5), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu5), int(1) & int(0x1F), int(1) & int(0x1F)));
            u_xlati5.xz = ivec2(uvec2(u_xlati18.xx) & uvec2(floatBitsToUint(URP_ZBins[int(u_xlatu4.x)].wy)));
            u_xlati18.xz = ~(u_xlati18.xy);
            u_xlati4.xy = ivec2(uvec2(u_xlati18.xx) & uvec2(floatBitsToUint(URP_ZBins[int(u_xlatu4.x)].zx)));
            u_xlati4.xy = ivec2(uvec2(u_xlati4.xy) | uvec2(u_xlati5.xz));
            u_xlati4.xy = ivec2(uvec2(u_xlati18.yz) & uvec2(u_xlati4.xy));
            u_xlati4.x = int(uint(u_xlati4.y) | uint(u_xlati4.x));
            u_xlati45 = int(uint(u_xlati45) & uint(u_xlati4.x));
            u_xlati4.x = int(0xFFFFFFFFu) << (int(u_xlatu31) & int(0x1F));
            u_xlati45 = int(uint(u_xlati45) & uint(u_xlati4.x));
            u_xlatu31 = u_xlatu31 >> (16u & uint(0x1F));
            u_xlatu31 = (-u_xlatu31) + 31u;
            u_xlatu31 = 4294967295u >> (u_xlatu31 & uint(0x1F));
            u_xlati31.x = int(u_xlatu31 & uint(u_xlati45));
        } else {
            u_xlati31.x = 0;
        }
        u_xlatu45 = u_xlatu19;
        u_xlati4.x = u_xlati31.x;
        while(true){
            if(u_xlati4.x == 0) {break;}
            u_xlati18.x = findLSB(uint(u_xlati4.x));
            u_xlati18.x = 1 << (u_xlati18.x & int(0x1F));
            u_xlati4.x = int(uint(u_xlati18.x) ^ uint(u_xlati4.x));
            u_xlatu45 = u_xlatu45 + 1u;
        }
        u_xlat4 = u_xlat3.xyxy * _ScreenParams.xyxy;
        u_xlatu4 = uvec4(u_xlat4);
        u_xlat31 = float(u_xlatu45);
        u_xlat31 = u_xlat31 + 0.100000001;
        u_xlat31 = log2(u_xlat31);
        u_xlat31 = u_xlat31 * 3.15464878;
        u_xlat31 = floor(u_xlat31);
        u_xlati31.x = int(u_xlat31);
        u_xlati31.x = u_xlati31.x + 1;
        u_xlati31.x = max(u_xlati31.x, 0);
        u_xlati31.x = min(u_xlati31.x, 11);
        u_xlati5.xy = ivec2(u_xlatu4.zw & uvec2(31u, 31u));
        u_xlat6.xyz = log2(ImmCB_0[u_xlati31.x].xyz);
        u_xlat6.xyz = u_xlat6.xyz * vec3(2.20000005, 2.20000005, 2.20000005);
        u_xlat6.xyz = exp2(u_xlat6.xyz);
        u_xlatb31.x = 9u>=u_xlatu45;
        if(u_xlatb31.x){
            u_xlati33.xy = u_xlati5.xy + ivec2(int(0xFFFFFFF1u), int(0xFFFFFFF5u));
            u_xlatb7.xy = lessThan(u_xlati33.xyxx, ivec4(0, 0, 0, 0)).xy;
            u_xlatb7.x = u_xlatb7.y || u_xlatb7.x;
            u_xlatb21.xy = greaterThanEqual(u_xlati33.xyxx, ivec4(5, 9, 0, 0)).xy;
            u_xlatb7.x = u_xlatb21.x || u_xlatb7.x;
            u_xlatb7.x = u_xlatb21.y || u_xlatb7.x;
            if(!u_xlatb7.x){
                TempArray0[0].x = 1.31986677e-38;
                TempArray0[1].x = 2.12591537e-38;
                TempArray0[2].x = 1.25143043e-38;
                TempArray0[3].x = 2.80572715e-38;
                TempArray0[4].x = 1.80243991e-38;
                TempArray0[5].x = 2.80328777e-38;
                TempArray0[6].x = 1.49005124e-38;
                TempArray0[7].x = 2.80329113e-38;
                TempArray0[8].x = 1.53482105e-38;
                TempArray0[9].x = 8.48817543e-38;
                TempArray0[10].x = 1.39649383e-38;
                TempArray0[11].x = 2.50841393e-38;
                TempArray0[12].x = 9.11131044e-38;
                TempArray0[13].x = 2.50783996e-38;
                TempArray0[14].x = 1.25371735e-38;
                TempArray0[15].x = 2.80171383e-38;
                TempArray0[16].x = 1.24436705e-38;
                TempArray0[17].x = 2.12175169e-38;
                u_xlati7.x = int((u_xlatu45>=5u) ? 0xFFFFFFFFu : uint(0));
                u_xlati47 = u_xlati33.y << (1 & int(0x1F));
                u_xlati47 = (-u_xlati47) + 16;
                u_xlati47 = int(bitfieldInsert(u_xlati47, u_xlati7.x, 0 & int(0x1F), 1));
                u_xlat47 = TempArray0[u_xlati47].x;
                {
                    uint rem = u_xlatu45 % 5u;
                    u_xlatu7 = rem;
                }
                u_xlatu33 = u_xlatu7 * 5u + uint(u_xlati33.x);
                u_xlatu33 = uint(floatBitsToUint(u_xlat47)) >> (u_xlatu33 & uint(0x1F));
                u_xlati33.x = int(u_xlatu33 & 1u);
                u_xlati33.x = int((u_xlati33.x!=0) ? 0xFFFFFFFFu : uint(0));
            } else {
                u_xlati33.x = 0;
            }
        } else {
            u_xlati7 = u_xlati5.xyxy + ivec4(int(0xFFFFFFF7u), int(0xFFFFFFF5u), int(0xFFFFFFF1u), int(0xFFFFFFF5u));
            {
                uint quo = u_xlatu45 / 10u;
                u_xlatu47 = quo;
            }
            u_xlatb8 = lessThan(u_xlati7, ivec4(0, 0, 0, 0));
            u_xlati8.xy = ivec2((uvec2(u_xlatb8.yw) * 0xffffffffu) | (uvec2(u_xlatb8.xz) * 0xffffffffu));
            u_xlatb9 = greaterThanEqual(u_xlati7, ivec4(5, 9, 5, 9));
            u_xlati8.xy = ivec2(uvec2(u_xlati8.xy) | (uvec2(u_xlatb9.xz) * 0xffffffffu));
            u_xlati8.xy = ivec2((uvec2(u_xlatb9.yw) * 0xffffffffu) | uvec2(u_xlati8.xy));
            u_xlatb36 = 9u<u_xlatu47;
            u_xlati8.x = int((uint(u_xlatb36) * 0xffffffffu) | uint(u_xlati8.x));
            if(u_xlati8.x == 0) {
                TempArray1[0].x = 1.31986677e-38;
                TempArray1[1].x = 2.12591537e-38;
                TempArray1[2].x = 1.25143043e-38;
                TempArray1[3].x = 2.80572715e-38;
                TempArray1[4].x = 1.80243991e-38;
                TempArray1[5].x = 2.80328777e-38;
                TempArray1[6].x = 1.49005124e-38;
                TempArray1[7].x = 2.80329113e-38;
                TempArray1[8].x = 1.53482105e-38;
                TempArray1[9].x = 8.48817543e-38;
                TempArray1[10].x = 1.39649383e-38;
                TempArray1[11].x = 2.50841393e-38;
                TempArray1[12].x = 9.11131044e-38;
                TempArray1[13].x = 2.50783996e-38;
                TempArray1[14].x = 1.25371735e-38;
                TempArray1[15].x = 2.80171383e-38;
                TempArray1[16].x = 1.24436705e-38;
                TempArray1[17].x = 2.12175169e-38;
                u_xlati8.x = int((u_xlatu47>=5u) ? 0xFFFFFFFFu : uint(0));
                u_xlati21.x = u_xlati7.y << (1 & int(0x1F));
                u_xlati21.x = (-u_xlati21.x) + 16;
                u_xlati21.x = int(bitfieldInsert(u_xlati21.x, u_xlati8.x, 0 & int(0x1F), 1));
                u_xlat21 = TempArray1[u_xlati21.x].x;
                {
                    uint rem = u_xlatu47 % 5u;
                    u_xlatu47 = rem;
                }
                u_xlatu47 = u_xlatu47 * 5u + uint(u_xlati7.x);
                u_xlatu47 = uint(floatBitsToUint(u_xlat21)) >> (u_xlatu47 & uint(0x1F));
                u_xlati47 = int(u_xlatu47 & 1u);
                u_xlati47 = int((u_xlati47!=0) ? 0xFFFFFFFFu : uint(0));
            } else {
                u_xlati47 = 0;
            }
            if(u_xlati8.y == 0) {
                {
                    uint rem = u_xlatu45 % 10u;
                    u_xlatu7 = rem;
                }
                TempArray2[0].x = 1.31986677e-38;
                TempArray2[1].x = 2.12591537e-38;
                TempArray2[2].x = 1.25143043e-38;
                TempArray2[3].x = 2.80572715e-38;
                TempArray2[4].x = 1.80243991e-38;
                TempArray2[5].x = 2.80328777e-38;
                TempArray2[6].x = 1.49005124e-38;
                TempArray2[7].x = 2.80329113e-38;
                TempArray2[8].x = 1.53482105e-38;
                TempArray2[9].x = 8.48817543e-38;
                TempArray2[10].x = 1.39649383e-38;
                TempArray2[11].x = 2.50841393e-38;
                TempArray2[12].x = 9.11131044e-38;
                TempArray2[13].x = 2.50783996e-38;
                TempArray2[14].x = 1.25371735e-38;
                TempArray2[15].x = 2.80171383e-38;
                TempArray2[16].x = 1.24436705e-38;
                TempArray2[17].x = 2.12175169e-38;
                u_xlati21.x = int((u_xlatu7>=5u) ? 0xFFFFFFFFu : uint(0));
                u_xlati49 = u_xlati7.w << (1 & int(0x1F));
                u_xlati49 = (-u_xlati49) + 16;
                u_xlati21.x = int(bitfieldInsert(u_xlati49, u_xlati21.x, 0 & int(0x1F), 1));
                u_xlat21 = TempArray2[u_xlati21.x].x;
                {
                    uint rem = u_xlatu7 % 5u;
                    u_xlatu7 = rem;
                }
                u_xlatu7 = u_xlatu7 * 5u + uint(u_xlati7.z);
                u_xlatu7 = uint(floatBitsToUint(u_xlat21)) >> (u_xlatu7 & uint(0x1F));
                u_xlati7.x = int(u_xlatu7 & 1u);
                u_xlati7.x = int((u_xlati7.x!=0) ? 0xFFFFFFFFu : uint(0));
            } else {
                u_xlati7.x = 0;
            }
            u_xlati33.x = int(uint(u_xlati47) | uint(u_xlati7.x));
        }
        u_xlat6.w = 0.800000012;
        u_xlat6 = (u_xlati33.x != 0) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat6;
        if(u_xlatb31.x){
            u_xlati33.xy = u_xlati5.xy + ivec2(int(0xFFFFFFF2u), int(0xFFFFFFF6u));
            u_xlatb7.xy = lessThan(u_xlati33.xyxx, ivec4(0, 0, 0, 0)).xy;
            u_xlatb31.x = u_xlatb7.y || u_xlatb7.x;
            u_xlatb7.xy = greaterThanEqual(u_xlati33.xyxx, ivec4(5, 9, 0, 0)).xy;
            u_xlatb31.x = u_xlatb31.x || u_xlatb7.x;
            u_xlatb31.x = u_xlatb7.y || u_xlatb31.x;
            if(!u_xlatb31.x){
                TempArray3[0].x = 1.31986677e-38;
                TempArray3[1].x = 2.12591537e-38;
                TempArray3[2].x = 1.25143043e-38;
                TempArray3[3].x = 2.80572715e-38;
                TempArray3[4].x = 1.80243991e-38;
                TempArray3[5].x = 2.80328777e-38;
                TempArray3[6].x = 1.49005124e-38;
                TempArray3[7].x = 2.80329113e-38;
                TempArray3[8].x = 1.53482105e-38;
                TempArray3[9].x = 8.48817543e-38;
                TempArray3[10].x = 1.39649383e-38;
                TempArray3[11].x = 2.50841393e-38;
                TempArray3[12].x = 9.11131044e-38;
                TempArray3[13].x = 2.50783996e-38;
                TempArray3[14].x = 1.25371735e-38;
                TempArray3[15].x = 2.80171383e-38;
                TempArray3[16].x = 1.24436705e-38;
                TempArray3[17].x = 2.12175169e-38;
                u_xlati31.x = int((u_xlatu45>=5u) ? 0xFFFFFFFFu : uint(0));
                u_xlati47 = u_xlati33.y << (1 & int(0x1F));
                u_xlati47 = (-u_xlati47) + 16;
                u_xlati31.x = int(bitfieldInsert(u_xlati47, u_xlati31.x, 0 & int(0x1F), 1));
                u_xlat31 = TempArray3[u_xlati31.x].x;
                {
                    uint rem = u_xlatu45 % 5u;
                    u_xlatu47 = rem;
                }
                u_xlatu33 = u_xlatu47 * 5u + uint(u_xlati33.x);
                u_xlatu31 = uint(floatBitsToUint(u_xlat31)) >> (u_xlatu33 & uint(0x1F));
                u_xlati31.x = int(u_xlatu31 & 1u);
                u_xlati31.x = int((u_xlati31.x!=0) ? 0xFFFFFFFFu : uint(0));
            } else {
                u_xlati31.x = 0;
            }
        } else {
            u_xlati5 = u_xlati5.xyxy + ivec4(int(0xFFFFFFF8u), int(0xFFFFFFF6u), int(0xFFFFFFF2u), int(0xFFFFFFF6u));
            {
                uint quo = u_xlatu45 / 10u;
                u_xlatu7 = quo;
            }
            u_xlatb8 = lessThan(u_xlati5, ivec4(0, 0, 0, 0));
            u_xlati21.xy = ivec2((uvec2(u_xlatb8.yw) * 0xffffffffu) | (uvec2(u_xlatb8.xz) * 0xffffffffu));
            u_xlatb8 = greaterThanEqual(u_xlati5, ivec4(5, 9, 5, 9));
            u_xlati21.xy = ivec2(uvec2(u_xlati21.xy) | (uvec2(u_xlatb8.xz) * 0xffffffffu));
            u_xlati21.xy = ivec2((uvec2(u_xlatb8.yw) * 0xffffffffu) | uvec2(u_xlati21.xy));
            u_xlatb49 = 9u<u_xlatu7;
            u_xlati21.x = int((uint(u_xlatb49) * 0xffffffffu) | uint(u_xlati21.x));
            if(u_xlati21.x == 0) {
                TempArray4[0].x = 1.31986677e-38;
                TempArray4[1].x = 2.12591537e-38;
                TempArray4[2].x = 1.25143043e-38;
                TempArray4[3].x = 2.80572715e-38;
                TempArray4[4].x = 1.80243991e-38;
                TempArray4[5].x = 2.80328777e-38;
                TempArray4[6].x = 1.49005124e-38;
                TempArray4[7].x = 2.80329113e-38;
                TempArray4[8].x = 1.53482105e-38;
                TempArray4[9].x = 8.48817543e-38;
                TempArray4[10].x = 1.39649383e-38;
                TempArray4[11].x = 2.50841393e-38;
                TempArray4[12].x = 9.11131044e-38;
                TempArray4[13].x = 2.50783996e-38;
                TempArray4[14].x = 1.25371735e-38;
                TempArray4[15].x = 2.80171383e-38;
                TempArray4[16].x = 1.24436705e-38;
                TempArray4[17].x = 2.12175169e-38;
                u_xlati21.x = int((u_xlatu7>=5u) ? 0xFFFFFFFFu : uint(0));
                u_xlati19.x = u_xlati5.y << (1 & int(0x1F));
                u_xlati19.x = (-u_xlati19.x) + 16;
                u_xlati19.x = int(bitfieldInsert(u_xlati19.x, u_xlati21.x, 0 & int(0x1F), 1));
                u_xlat19 = TempArray4[u_xlati19.x].x;
                {
                    uint rem = u_xlatu7 % 5u;
                    u_xlatu7 = rem;
                }
                u_xlatu5 = u_xlatu7 * 5u + uint(u_xlati5.x);
                u_xlatu5 = uint(floatBitsToUint(u_xlat19)) >> (u_xlatu5 & uint(0x1F));
                u_xlati5.x = int(u_xlatu5 & 1u);
                u_xlati5.x = int((u_xlati5.x!=0) ? 0xFFFFFFFFu : uint(0));
            } else {
                u_xlati5.x = 0;
            }
            if(u_xlati21.y == 0) {
                {
                    uint rem = u_xlatu45 % 10u;
                    u_xlatu45 = rem;
                }
                TempArray5[0].x = 1.31986677e-38;
                TempArray5[1].x = 2.12591537e-38;
                TempArray5[2].x = 1.25143043e-38;
                TempArray5[3].x = 2.80572715e-38;
                TempArray5[4].x = 1.80243991e-38;
                TempArray5[5].x = 2.80328777e-38;
                TempArray5[6].x = 1.49005124e-38;
                TempArray5[7].x = 2.80329113e-38;
                TempArray5[8].x = 1.53482105e-38;
                TempArray5[9].x = 8.48817543e-38;
                TempArray5[10].x = 1.39649383e-38;
                TempArray5[11].x = 2.50841393e-38;
                TempArray5[12].x = 9.11131044e-38;
                TempArray5[13].x = 2.50783996e-38;
                TempArray5[14].x = 1.25371735e-38;
                TempArray5[15].x = 2.80171383e-38;
                TempArray5[16].x = 1.24436705e-38;
                TempArray5[17].x = 2.12175169e-38;
                u_xlati19.x = int((u_xlatu45>=5u) ? 0xFFFFFFFFu : uint(0));
                u_xlati47 = u_xlati5.w << (1 & int(0x1F));
                u_xlati47 = (-u_xlati47) + 16;
                u_xlati19.x = int(bitfieldInsert(u_xlati47, u_xlati19.x, 0 & int(0x1F), 1));
                u_xlat19 = TempArray5[u_xlati19.x].x;
                {
                    uint rem = u_xlatu45 % 5u;
                    u_xlatu45 = rem;
                }
                u_xlatu45 = u_xlatu45 * 5u + uint(u_xlati5.z);
                u_xlatu45 = uint(floatBitsToUint(u_xlat19)) >> (u_xlatu45 & uint(0x1F));
                u_xlati45 = int(u_xlatu45 & 1u);
                u_xlati45 = int((u_xlati45!=0) ? 0xFFFFFFFFu : uint(0));
            } else {
                u_xlati45 = 0;
            }
            u_xlati31.x = int(uint(u_xlati45) | uint(u_xlati5.x));
        }
        u_xlat5 = (u_xlati31.x != 0) ? vec4(1.0, 1.0, 1.0, 1.0) : u_xlat6;
        u_xlat6 = vec4(u_xlatu4.zwzw);
        u_xlat6 = u_xlat6 * vec4(0.03125, 0.03125, 0.03125, 0.03125);
        u_xlatu6 = uvec4(u_xlat6);
        u_xlati6 = ivec4(u_xlatu6) << (ivec4(5, 5, 5, 5) & int(0x1F));
        u_xlati4 = ivec4(u_xlatu4) + (-u_xlati6);
        u_xlatb4 = equal(u_xlati4, ivec4(0, 0, 31, 31));
        {
            bvec2 hlslcc_orTemp = u_xlatb31;
            hlslcc_orTemp.x = u_xlatb4.z || u_xlatb4.x;
            hlslcc_orTemp.y = u_xlatb4.w || u_xlatb4.y;
            u_xlatb31 = hlslcc_orTemp;
        }
        u_xlatb31.x = u_xlatb31.y || u_xlatb31.x;
        u_xlat16_4 = (u_xlatb31.x) ? vec4(1.0, 1.0, 1.0, 0.400000006) : u_xlat5;
        u_xlat16_10.xyz = (-u_xlat16_0.xyz) * vs_COLOR0.xyz + u_xlat16_4.xyz;
        u_xlat16_0.xyz = u_xlat16_4.www * u_xlat16_10.xyz + u_xlat16_1.yzw;
        u_xlat16_0.w = 1.0;
        u_xlat16_4.xyz = u_xlat16_1.yzw;
        u_xlati31.x = int(0xFFFFFFFFu);
    } else {
        u_xlatb45 = _DebugLightingMode==1;
        if(u_xlatb45){
            u_xlat5.xyz = vs_TEXCOORD1.xyz + (-_CascadeShadowSplitSpheres0.xyz);
            u_xlat7.xyz = vs_TEXCOORD1.xyz + (-_CascadeShadowSplitSpheres1.xyz);
            u_xlat8.xyz = vs_TEXCOORD1.xyz + (-_CascadeShadowSplitSpheres2.xyz);
            u_xlat9.xyz = vs_TEXCOORD1.xyz + (-_CascadeShadowSplitSpheres3.xyz);
            u_xlat5.x = dot(u_xlat5.xyz, u_xlat5.xyz);
            u_xlat5.y = dot(u_xlat7.xyz, u_xlat7.xyz);
            u_xlat5.z = dot(u_xlat8.xyz, u_xlat8.xyz);
            u_xlat5.w = dot(u_xlat9.xyz, u_xlat9.xyz);
            u_xlatb5 = lessThan(u_xlat5, _CascadeShadowSplitSphereRadii);
            u_xlat16_6.x = (u_xlatb5.x) ? float(1.0) : float(0.0);
            u_xlat16_6.y = (u_xlatb5.y) ? float(1.0) : float(0.0);
            u_xlat16_6.z = (u_xlatb5.z) ? float(1.0) : float(0.0);
            u_xlat16_6.w = (u_xlatb5.w) ? float(1.0) : float(0.0);
            u_xlat16_10.x = (u_xlatb5.x) ? float(-1.0) : float(-0.0);
            u_xlat16_10.y = (u_xlatb5.y) ? float(-1.0) : float(-0.0);
            u_xlat16_10.z = (u_xlatb5.z) ? float(-1.0) : float(-0.0);
            u_xlat16_10.xyz = u_xlat16_6.yzw + u_xlat16_10.xyz;
            u_xlat16_6.yzw = max(u_xlat16_10.xyz, vec3(0.0, 0.0, 0.0));
            u_xlat16_10.x = dot(u_xlat16_6, vec4(4.0, 3.0, 2.0, 1.0));
            u_xlat16_10.x = (-u_xlat16_10.x) + 4.0;
            u_xlatu45 = uint(u_xlat16_10.x);
            switch(int(u_xlatu45)){
                case 0:
                    u_xlat16_4.x = float(0.400000006);
                    u_xlat16_4.y = float(0.400000006);
                    u_xlat16_4.z = float(0.899999976);
                    break;
                case 1:
                    u_xlat16_4.x = float(0.400000006);
                    u_xlat16_4.y = float(0.899999976);
                    u_xlat16_4.z = float(0.400000006);
                    break;
                case 2:
                    u_xlat16_4.x = float(0.899999976);
                    u_xlat16_4.y = float(0.899999976);
                    u_xlat16_4.z = float(0.400000006);
                    break;
                case 3:
                    u_xlat16_4.x = float(0.899999976);
                    u_xlat16_4.y = float(0.400000006);
                    u_xlat16_4.z = float(0.400000006);
                    break;
                default:
                    u_xlat16_4.x = float(0.0);
                    u_xlat16_4.y = float(0.0);
                    u_xlat16_4.z = float(0.0);
                    break;
            }
            u_xlat16_0.x = float(0.0);
            u_xlat16_0.y = float(0.0);
            u_xlat16_0.z = float(0.0);
            u_xlat16_10.x = 1.0;
        } else {
            u_xlatb5 = equal(ivec4(ivec4(_DebugLightingMode, _DebugLightingMode, _DebugLightingMode, _DebugLightingMode)), ivec4(2, 3, 4, 5));
            {
                bvec4 hlslcc_orTemp = u_xlatb5;
                hlslcc_orTemp.x = u_xlatb5.y || u_xlatb5.x;
                hlslcc_orTemp.y = u_xlatb5.w || u_xlatb5.z;
                u_xlatb5 = hlslcc_orTemp;
            }
            u_xlat16_38.xy = (u_xlatb5.y) ? vec2(1.0, 1.0) : vec2(0.0, 1.0);
            u_xlat16_11.xyz = (u_xlatb5.y) ? vec3(0.0, 0.0, 0.0) : u_xlat16_1.yzw;
            u_xlat16_10.xy = (u_xlatb5.x) ? vec2(0.0, 0.0) : u_xlat16_38.yx;
            u_xlat16_4.xyz = (u_xlatb5.x) ? vec3(1.0, 1.0, 1.0) : u_xlat16_11.xyz;
            u_xlat16_0.xyz = u_xlat16_10.yyy;
        }
        u_xlat16_5 = (int(_DebugSceneOverrideMode) != 0) ? _DebugColor : vec4(0.0, 0.0, 0.0, 0.0);
        if(_DebugSceneOverrideMode != 0) {
            u_xlat16_0 = u_xlat16_5;
            u_xlati31.x = int(0xFFFFFFFFu);
        } else {
            switch(_DebugMaterialMode){
                case 0:
                    u_xlat16_0 = u_xlat16_5;
                    u_xlati45 = 0;
                    break;
                case 1:
                    u_xlat16_4.w = 1.0;
                    u_xlat16_0 = u_xlat16_4;
                    u_xlati45 = int(0xFFFFFFFFu);
                    break;
                case 2:
                    u_xlat16_0.w = 1.0;
                    u_xlati45 = int(0xFFFFFFFFu);
                    break;
                case 3:
                    u_xlat16_1.w = 1.0;
                    u_xlat16_0 = u_xlat16_1.xxxw;
                    u_xlati45 = int(0xFFFFFFFFu);
                    break;
                case 4:
                    u_xlat16_10.y = 1.0;
                    u_xlat16_0 = u_xlat16_10.xxxy;
                    u_xlati45 = int(0xFFFFFFFFu);
                    break;
                case 5:
                    u_xlat16_0.x = float(1.0);
                    u_xlat16_0.y = float(1.0);
                    u_xlat16_0.z = float(1.0);
                    u_xlat16_0.w = float(1.0);
                    u_xlati45 = int(0xFFFFFFFFu);
                    break;
                case 6:
                    u_xlat16_0.x = float(0.0);
                    u_xlat16_0.y = float(0.0);
                    u_xlat16_0.z = float(0.0);
                    u_xlat16_0.w = float(1.0);
                    u_xlati45 = int(0xFFFFFFFFu);
                    break;
                case 7:
                    u_xlat0.xyz = u_xlat2.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
                    u_xlat16_0.xyz = u_xlat0.xyz;
                    u_xlat16_0.w = 1.0;
                    u_xlati45 = int(0xFFFFFFFFu);
                    break;
                case 8:
                    u_xlat16_0.x = float(0.5);
                    u_xlat16_0.y = float(0.5);
                    u_xlat16_0.z = float(1.0);
                    u_xlat16_0.w = float(1.0);
                    u_xlati45 = int(0xFFFFFFFFu);
                    break;
                case 10:
                    u_xlat16_0.x = float(0.0);
                    u_xlat16_0.y = float(0.0);
                    u_xlat16_0.z = float(0.0);
                    u_xlat16_0.w = float(1.0);
                    u_xlati45 = int(0xFFFFFFFFu);
                    break;
                default:
                    u_xlat16_0 = _DebugColorInvalidMode;
                    u_xlati45 = int(0xFFFFFFFFu);
                    break;
            }
            if(u_xlati45 != 0) {
                u_xlati31.x = int(0xFFFFFFFFu);
            } else {
                switch(_DebugMaterialValidationMode){
                    case 0:
                        u_xlati31.x = 0;
                        break;
                    case 1:
                        u_xlat16_10.x = dot(u_xlat16_4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
                        u_xlatb45 = u_xlat16_10.x<_DebugValidateAlbedoMinLuminance;
                        if(u_xlatb45){
                            u_xlat16_0 = _DebugValidateBelowMinThresholdColor;
                        } else {
                            u_xlatb45 = _DebugValidateAlbedoMaxLuminance<u_xlat16_10.x;
                            u_xlatb7.x = u_xlat16_4.y>=u_xlat16_4.z;
                            u_xlat16_15.x = (u_xlatb7.x) ? 1.0 : 0.0;
                            u_xlat16_5.xy = u_xlat16_4.zy;
                            u_xlat16_5.z = float(-1.0);
                            u_xlat16_5.w = float(0.666666687);
                            u_xlat16_6.xy = u_xlat16_4.yz + (-u_xlat16_5.xy);
                            u_xlat16_6.z = float(1.0);
                            u_xlat16_6.w = float(-1.0);
                            u_xlat16_5 = u_xlat16_15.xxxx * u_xlat16_6 + u_xlat16_5;
                            u_xlatb7.x = u_xlat16_4.x>=u_xlat16_5.x;
                            u_xlat16_15.x = (u_xlatb7.x) ? 1.0 : 0.0;
                            u_xlat16_6.xyz = u_xlat16_5.xyw;
                            u_xlat16_6.w = u_xlat16_4.x;
                            u_xlat16_5.xyw = u_xlat16_6.wyx;
                            u_xlat16_5 = (-u_xlat16_6) + u_xlat16_5;
                            u_xlat16_5 = u_xlat16_15.xxxx * u_xlat16_5 + u_xlat16_6;
                            u_xlat16_15.x = min(u_xlat16_5.y, u_xlat16_5.w);
                            u_xlat16_15.x = (-u_xlat16_15.x) + u_xlat16_5.x;
                            u_xlat16_29 = (-u_xlat16_5.y) + u_xlat16_5.w;
                            u_xlat16_43 = u_xlat16_15.x * 6.0 + 9.99999975e-05;
                            u_xlat16_29 = u_xlat16_29 / u_xlat16_43;
                            u_xlat16_29 = u_xlat16_29 + u_xlat16_5.z;
                            u_xlat16_43 = u_xlat16_5.x + 9.99999975e-05;
                            u_xlat16_15.x = u_xlat16_15.x / u_xlat16_43;
                            u_xlatb7.x = _DebugValidateAlbedoCompareColor.y>=_DebugValidateAlbedoCompareColor.z;
                            u_xlat16_5.xy = _DebugValidateAlbedoCompareColor.zy;
                            u_xlat16_5.z = float(-1.0);
                            u_xlat16_5.w = float(0.666666687);
                            u_xlat16_6.xy = _DebugValidateAlbedoCompareColor.yz;
                            u_xlat16_6.z = float(0.0);
                            u_xlat16_6.w = float(-0.333333343);
                            u_xlat16_6 = (-u_xlat16_5) + u_xlat16_6;
                            u_xlat16_6 = (u_xlatb7.x) ? u_xlat16_6 : vec4(0.0, 0.0, 0.0, -0.0);
                            u_xlat16_5 = u_xlat16_5 + u_xlat16_6;
                            u_xlatb7.x = _DebugValidateAlbedoCompareColor.x>=u_xlat16_5.x;
                            u_xlat16_6.xyz = u_xlat16_5.xyw;
                            u_xlat16_6.w = _DebugValidateAlbedoCompareColor.x;
                            u_xlat16_5.xyw = u_xlat16_6.wyx;
                            u_xlat16_5 = (-u_xlat16_6) + u_xlat16_5;
                            u_xlat16_5 = (u_xlatb7.x) ? u_xlat16_5 : vec4(0.0, 0.0, 0.0, 0.0);
                            u_xlat16_5 = u_xlat16_5 + u_xlat16_6;
                            u_xlat16_43 = min(u_xlat16_5.y, u_xlat16_5.w);
                            u_xlat16_43 = (-u_xlat16_43) + u_xlat16_5.x;
                            u_xlat16_38.x = (-u_xlat16_5.y) + u_xlat16_5.w;
                            u_xlat16_52 = u_xlat16_43 * 6.0 + 9.99999975e-05;
                            u_xlat16_38.x = u_xlat16_38.x / u_xlat16_52;
                            u_xlat16_38.x = u_xlat16_5.z + u_xlat16_38.x;
                            u_xlat16_52 = u_xlat16_5.x + 9.99999975e-05;
                            u_xlat16_43 = u_xlat16_43 / u_xlat16_52;
                            u_xlat16_52 = u_xlat16_43 + (-_DebugValidateAlbedoSaturationTolerance);
                            u_xlatb7.x = u_xlat16_15.x<u_xlat16_52;
                            u_xlat16_52 = abs(u_xlat16_38.x) + (-_DebugValidateAlbedoHueTolerance);
                            u_xlatb21.x = abs(u_xlat16_29)<u_xlat16_52;
                            u_xlat16_52 = u_xlat16_52 + 1.0;
                            u_xlatb35 = abs(u_xlat16_29)<u_xlat16_52;
                            u_xlatb21.x = u_xlatb35 && u_xlatb21.x;
                            u_xlatb7.x = u_xlatb21.x || u_xlatb7.x;
                            u_xlat16_43 = u_xlat16_43 + _DebugValidateAlbedoSaturationTolerance;
                            u_xlatb21.x = u_xlat16_43<u_xlat16_15.x;
                            u_xlat16_15.x = abs(u_xlat16_38.x) + _DebugValidateAlbedoHueTolerance;
                            u_xlatb35 = u_xlat16_15.x<abs(u_xlat16_29);
                            u_xlat16_15.x = u_xlat16_15.x + -1.0;
                            u_xlatb49 = u_xlat16_15.x<abs(u_xlat16_29);
                            u_xlatb35 = u_xlatb49 && u_xlatb35;
                            u_xlatb21.x = u_xlatb35 || u_xlatb21.x;
                            u_xlat16_10.y = 1.0;
                            u_xlat16_5 = (u_xlatb21.x) ? _DebugValidateAboveMaxThresholdColor : u_xlat16_10.xxxy;
                            u_xlat16_5 = (u_xlatb7.x) ? _DebugValidateBelowMinThresholdColor : u_xlat16_5;
                            u_xlat16_0 = (bool(u_xlatb45)) ? _DebugValidateAboveMaxThresholdColor : u_xlat16_5;
                        }
                        u_xlati31.x = int(0xFFFFFFFFu);
                        break;
                    case 2:
                        u_xlatb45 = 0.0<_DebugValidateMetallicMinValue;
                        u_xlatb7.x = _DebugValidateMetallicMaxValue<0.0;
                        u_xlat16_10.x = dot(u_xlat16_4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
                        u_xlat16_10.y = 1.0;
                        u_xlat16_5 = (u_xlatb7.x) ? _DebugValidateAboveMaxThresholdColor : u_xlat16_10.xxxy;
                        u_xlat16_0 = (bool(u_xlatb45)) ? _DebugValidateBelowMinThresholdColor : u_xlat16_5;
                        u_xlati31.x = int(0xFFFFFFFFu);
                        break;
                    default:
                        u_xlat16_0 = _DebugColorInvalidMode;
                        u_xlati31.x = int(0xFFFFFFFFu);
                        break;
                }
            }
        }
    }
    if(u_xlati31.x == 0) {
        u_xlat2.w = 1.0;
        u_xlat16_10.x = dot(unity_SHAr, u_xlat2);
        u_xlat16_10.y = dot(unity_SHAg, u_xlat2);
        u_xlat16_10.z = dot(unity_SHAb, u_xlat2);
        u_xlat16_5 = u_xlat2.yzzx * u_xlat2.xyzz;
        u_xlat16_11.x = dot(unity_SHBr, u_xlat16_5);
        u_xlat16_11.y = dot(unity_SHBg, u_xlat16_5);
        u_xlat16_11.z = dot(unity_SHBb, u_xlat16_5);
        u_xlat16_15.x = u_xlat2.y * u_xlat2.y;
        u_xlat16_15.x = u_xlat2.x * u_xlat2.x + (-u_xlat16_15.x);
        u_xlat16_15.xyz = unity_SHC.xyz * u_xlat16_15.xxx + u_xlat16_11.xyz;
        u_xlat16_15.xyz = u_xlat16_15.xyz + u_xlat16_10.xyz;
        u_xlat16_15.xyz = max(u_xlat16_15.xyz, vec3(0.0, 0.0, 0.0));
        switch(_DebugLightingMode){
            case 2:
                u_xlat16_10.x = 0.5;
                break;
            case 3:
                u_xlat16_10.x = 0.5;
                break;
            default:
                u_xlat16_10.x = 1.0;
                break;
        }
        vec3 txVec0 = vec3(vs_TEXCOORD7.xy,vs_TEXCOORD7.z);
        u_xlat16_44 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec0, 0.0);
        u_xlat16_24 = (-_MainLightShadowParams.x) + 1.0;
        u_xlat16_24 = u_xlat16_44 * _MainLightShadowParams.x + u_xlat16_24;
        u_xlatb44 = 0.0>=vs_TEXCOORD7.z;
        u_xlatb31.x = vs_TEXCOORD7.z>=1.0;
        u_xlatb44 = u_xlatb44 || u_xlatb31.x;
        u_xlat16_24 = (u_xlatb44) ? 1.0 : u_xlat16_24;
        u_xlat7.xyz = vs_TEXCOORD1.xyz + (-_WorldSpaceCameraPos.xyz);
        u_xlat44 = dot(u_xlat7.xyz, u_xlat7.xyz);
        u_xlat44 = u_xlat44 * _MainLightShadowParams.z + _MainLightShadowParams.w;
        u_xlat44 = clamp(u_xlat44, 0.0, 1.0);
        u_xlat16_38.x = (-u_xlat16_24) + 1.0;
        u_xlat16_24 = u_xlat44 * u_xlat16_38.x + u_xlat16_24;
        u_xlatb44 = _DebugLightingFeatureFlags==0;
        u_xlati5 = ivec4(uvec4(ivec4(ivec4(_DebugLightingFeatureFlags, _DebugLightingFeatureFlags, _DebugLightingFeatureFlags, _DebugLightingFeatureFlags))) & uvec4(32u, 1u, 2u, 4u));
        u_xlatb5 = notEqual(u_xlati5, ivec4(0, 0, 0, 0));
        {
            bvec4 hlslcc_orTemp = u_xlatb5;
            hlslcc_orTemp.x = bool(u_xlatb44) || u_xlatb5.x;
            hlslcc_orTemp.y = bool(u_xlatb44) || u_xlatb5.y;
            hlslcc_orTemp.z = bool(u_xlatb44) || u_xlatb5.z;
            hlslcc_orTemp.w = bool(u_xlatb44) || u_xlatb5.w;
            u_xlatb5 = hlslcc_orTemp;
        }
        u_xlat16_10.xzw = u_xlat16_15.xyz * u_xlat16_10.xxx;
        u_xlat16_15.xyz = (u_xlatb5.x) ? u_xlat16_10.xzw : u_xlat16_15.xyz;
        u_xlat16_15.xyz = u_xlat16_4.xyz * u_xlat16_15.xyz;
        u_xlat8.xyz = vec3(u_xlat16_24) * _MainLightColor.xyz;
        u_xlat16_10.x = dot(u_xlat2.xyz, _MainLightPosition.xyz);
        u_xlat16_10.x = clamp(u_xlat16_10.x, 0.0, 1.0);
        u_xlat16_10.xyz = u_xlat8.xyz * u_xlat16_10.xxx;
        u_xlatu44 = uint(_FPParams0.w);
        u_xlatu31 = min(u_xlatu44, 16u);
        u_xlat16_11.x = float(0.0);
        u_xlat16_11.y = float(0.0);
        u_xlat16_11.z = float(0.0);
        for(uint u_xlatu_loop_1 = 0u ; u_xlatu_loop_1<u_xlatu31 ; u_xlatu_loop_1++)
        {
            u_xlat8.xyz = (-vs_TEXCOORD1.xyz) * _AdditionalLightsPosition[int(u_xlatu_loop_1)].www + _AdditionalLightsPosition[int(u_xlatu_loop_1)].xyz;
            u_xlat49 = dot(u_xlat8.xyz, u_xlat8.xyz);
            u_xlat49 = max(u_xlat49, 6.10351562e-05);
            u_xlat50 = inversesqrt(u_xlat49);
            u_xlat8.xyz = vec3(u_xlat50) * u_xlat8.xyz;
            u_xlat50 = float(1.0) / float(u_xlat49);
            u_xlat49 = u_xlat49 * _AdditionalLightsAttenuation[int(u_xlatu_loop_1)].x;
            u_xlat16_52 = (-u_xlat49) * u_xlat49 + 1.0;
            u_xlat16_52 = max(u_xlat16_52, 0.0);
            u_xlat16_52 = u_xlat16_52 * u_xlat16_52;
            u_xlat49 = u_xlat50 * u_xlat16_52;
            u_xlat16_52 = dot(_AdditionalLightsSpotDir[int(u_xlatu_loop_1)].xyz, u_xlat8.xyz);
            u_xlat16_52 = u_xlat16_52 * _AdditionalLightsAttenuation[int(u_xlatu_loop_1)].z + _AdditionalLightsAttenuation[int(u_xlatu_loop_1)].w;
            u_xlat16_52 = clamp(u_xlat16_52, 0.0, 1.0);
            u_xlat16_52 = u_xlat16_52 * u_xlat16_52;
            u_xlat49 = u_xlat49 * u_xlat16_52;
            u_xlat9.xyz = vec3(u_xlat49) * _AdditionalLightsColor[int(u_xlatu_loop_1)].xyz;
            u_xlat16_52 = dot(u_xlat2.xyz, u_xlat8.xyz);
            u_xlat16_52 = clamp(u_xlat16_52, 0.0, 1.0);
            u_xlat16_12.xyz = u_xlat9.xyz * vec3(u_xlat16_52);
            u_xlat16_11.xyz = u_xlat16_12.xyz * u_xlat16_4.xyz + u_xlat16_11.xyz;
        }
        u_xlatu31 = uint(_FPParams1.w);
        if(u_xlatu31 != uint(0)) {
            u_xlat3.xy = u_xlat3.xy * _FPParams1.xy;
            u_xlatu3.xy = uvec2(u_xlat3.xy);
            u_xlatu45 = uint(_FPParams1.z);
            u_xlati3.x = int(u_xlatu3.y) * int(u_xlatu45) + int(u_xlatu3.x);
            u_xlatu3.x = u_xlatu31 * uint(u_xlati3.x);
            u_xlat8.x = hlslcc_mtx4x4unity_MatrixV[0].z;
            u_xlat8.y = hlslcc_mtx4x4unity_MatrixV[1].z;
            u_xlat8.z = hlslcc_mtx4x4unity_MatrixV[2].z;
            u_xlat17 = dot((-u_xlat8.xyz), u_xlat7.xyz);
            u_xlatb45 = unity_OrthoParams.w==0.0;
            u_xlat7.x = log2(u_xlat17);
            u_xlat17 = (u_xlatb45) ? u_xlat7.x : u_xlat17;
            u_xlat17 = u_xlat17 * _FPParams0.x + _FPParams0.y;
            u_xlatu17 = uint(u_xlat17);
            u_xlatu17 = min(u_xlatu17, 4095u);
            u_xlati31.x = int(u_xlatu31) + 2;
            u_xlatu45 = uint(u_xlati31.x) * u_xlatu17;
            u_xlatu17 = u_xlatu17 * uint(u_xlati31.x) + 2u;
            u_xlatu31 = u_xlatu45 >> (2u & uint(0x1F));
            u_xlati7.xy = ivec2(int_bitfieldExtract(int(u_xlatu45), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu45), int(1) & int(0x1F), int(1) & int(0x1F)));
            u_xlati35.xy = ivec2(uvec2(u_xlati7.xx) & uvec2(floatBitsToUint(URP_ZBins[int(u_xlatu31)].wy)));
            u_xlati8.xy = ~(u_xlati7.xy);
            u_xlati31.xy = ivec2(uvec2(u_xlati8.xx) & uvec2(floatBitsToUint(URP_ZBins[int(u_xlatu31)].zx)));
            u_xlati31.xy = ivec2(uvec2(u_xlati31.xy) | uvec2(u_xlati35.xy));
            u_xlati31.x = int(uint(u_xlati7.y) & uint(u_xlati31.x));
            u_xlati45 = int(uint(u_xlati8.y) & uint(u_xlati31.y));
            u_xlatu31 = uint(u_xlati45) | uint(u_xlati31.x);
            u_xlatu45 = u_xlatu3.x >> (2u & uint(0x1F));
            u_xlati7.xy = ivec2(int_bitfieldExtract(int(u_xlatu3.x), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu3.x), int(1) & int(0x1F), int(1) & int(0x1F)));
            u_xlati35.xy = ivec2(uvec2(u_xlati7.xx) & uvec2(floatBitsToUint(urp_Tiles[int(u_xlatu45)].wy)));
            u_xlati8.xy = ~(u_xlati7.xy);
            u_xlati3.xw = ivec2(uvec2(u_xlati8.xx) & uvec2(floatBitsToUint(urp_Tiles[int(u_xlatu45)].zx)));
            u_xlati3.xw = ivec2(uvec2(u_xlati3.xw) | uvec2(u_xlati35.xy));
            u_xlati3.x = int(uint(u_xlati7.y) & uint(u_xlati3.x));
            u_xlati45 = int(uint(u_xlati8.y) & uint(u_xlati3.w));
            u_xlati3.x = int(uint(u_xlati45) | uint(u_xlati3.x));
            u_xlatu45 = u_xlatu17 >> (2u & uint(0x1F));
            u_xlati7.xy = ivec2(int_bitfieldExtract(int(u_xlatu17), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu17), int(1) & int(0x1F), int(1) & int(0x1F)));
            u_xlati35.xy = ivec2(uvec2(u_xlati7.xx) & uvec2(floatBitsToUint(URP_ZBins[int(u_xlatu45)].wy)));
            u_xlati8.xy = ~(u_xlati7.xy);
            u_xlati17.xz = ivec2(uvec2(u_xlati8.xx) & uvec2(floatBitsToUint(URP_ZBins[int(u_xlatu45)].zx)));
            u_xlati17.xz = ivec2(uvec2(u_xlati17.xz) | uvec2(u_xlati35.xy));
            u_xlati17.x = int(uint(u_xlati7.y) & uint(u_xlati17.x));
            u_xlati45 = int(uint(u_xlati8.y) & uint(u_xlati17.z));
            u_xlati17.x = int(uint(u_xlati45) | uint(u_xlati17.x));
            u_xlati3.x = int(uint(u_xlati17.x) & uint(u_xlati3.x));
            u_xlati17.x = int(0xFFFFFFFFu) << (int(u_xlatu31) & int(0x1F));
            u_xlati3.x = int(uint(u_xlati17.x) & uint(u_xlati3.x));
            u_xlatu17 = u_xlatu31 >> (16u & uint(0x1F));
            u_xlatu17 = (-u_xlatu17) + 31u;
            u_xlatu17 = 4294967295u >> (u_xlatu17 & uint(0x1F));
            u_xlati3.x = int(u_xlatu17 & uint(u_xlati3.x));
        } else {
            u_xlati3.x = 0;
        }
        u_xlat16_12.xyz = u_xlat16_11.xyz;
        u_xlati17.x = u_xlati3.x;
        while(true){
            if(u_xlati17.x == 0) {break;}
            u_xlati31.x = findLSB(uint(u_xlati17.x));
            u_xlati45 = 1 << (u_xlati31.x & int(0x1F));
            u_xlati17.x = int(uint(u_xlati45) ^ uint(u_xlati17.x));
            u_xlati31.x = int(u_xlatu44) + u_xlati31.x;
            u_xlat7.xyz = (-vs_TEXCOORD1.xyz) * _AdditionalLightsPosition[u_xlati31.x].www + _AdditionalLightsPosition[u_xlati31.x].xyz;
            u_xlat45 = dot(u_xlat7.xyz, u_xlat7.xyz);
            u_xlat45 = max(u_xlat45, 6.10351562e-05);
            u_xlat49 = inversesqrt(u_xlat45);
            u_xlat7.xyz = vec3(u_xlat49) * u_xlat7.xyz;
            u_xlat49 = float(1.0) / float(u_xlat45);
            u_xlat45 = u_xlat45 * _AdditionalLightsAttenuation[u_xlati31.x].x;
            u_xlat16_52 = (-u_xlat45) * u_xlat45 + 1.0;
            u_xlat16_52 = max(u_xlat16_52, 0.0);
            u_xlat16_52 = u_xlat16_52 * u_xlat16_52;
            u_xlat45 = u_xlat49 * u_xlat16_52;
            u_xlat16_52 = dot(_AdditionalLightsSpotDir[u_xlati31.x].xyz, u_xlat7.xyz);
            u_xlat16_52 = u_xlat16_52 * _AdditionalLightsAttenuation[u_xlati31.x].z + _AdditionalLightsAttenuation[u_xlati31.x].w;
            u_xlat16_52 = clamp(u_xlat16_52, 0.0, 1.0);
            u_xlat16_52 = u_xlat16_52 * u_xlat16_52;
            u_xlat45 = u_xlat45 * u_xlat16_52;
            u_xlat8.xyz = vec3(u_xlat45) * _AdditionalLightsColor[u_xlati31.x].xyz;
            u_xlat16_52 = dot(u_xlat2.xyz, u_xlat7.xyz);
            u_xlat16_52 = clamp(u_xlat16_52, 0.0, 1.0);
            u_xlat16_13.xyz = u_xlat8.xyz * vec3(u_xlat16_52);
            u_xlat16_12.xyz = u_xlat16_13.xyz * u_xlat16_4.xyz + u_xlat16_12.xyz;
        }
        u_xlatb2 = _DebugLightingFeatureFlags!=32;
        u_xlat16_11.xyz = (u_xlatb5.y) ? u_xlat16_15.xyz : vec3(0.0, 0.0, 0.0);
        u_xlat16_10.xyz = u_xlat16_10.xyz * u_xlat16_4.xyz + u_xlat16_11.xyz;
        u_xlat16_10.xyz = (u_xlatb5.z) ? u_xlat16_10.xyz : u_xlat16_11.xyz;
        u_xlat16_11.xyz = u_xlat16_12.xyz + u_xlat16_10.xyz;
        u_xlat16_10.xyz = (u_xlatb5.w) ? u_xlat16_11.xyz : u_xlat16_10.xyz;
        u_xlat16_0.xyz = (bool(u_xlatb2)) ? u_xlat16_10.xyz : u_xlat16_15.xyz;
        u_xlat16_0.w = u_xlat16_1.x;
    }
    u_xlatb2 = _Surface==1.0;
    u_xlat16_0.w = (u_xlatb2) ? u_xlat16_0.w : 1.0;
    SV_Target0 = u_xlat16_0;
    return;
}


// Keywords: DEBUG_DISPLAY PROCEDURAL_INSTANCING_ON _FORWARD_PLUS _MAIN_LIGHT_SHADOWS
// 